import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map;

public class Solution {
    public int[] twoSum(int[] nums, int target) {
        int len = nums.length;

        for(int i=0;i< len;i++) {
// 易错点1：没有考虑到负数
//            if (nums[i] > target) {
//                continue;  // 易错2：别输入成break
//            }
            for(int j=0; j < len; j++) {
//                if (nums[j] > target) {
//                    continue;
//                }
                if (nums[i] + nums[j] == target) {
                    return new int[]{i, j};  // 这里如何返回一个数组
                }
            }
        }
        return new int[0];   // 丢掉当没找到额情况，即使题里面没提到但是应该考虑的更详细
    }
}

class Solution2 {
    public int[] twoSum(int[] nums, int target) {
        Map<Integer,Integer> hastab = new HashMap<Integer, Integer>(); // 注意不要hashtable了leetcode好像不支持了
        for(int i=0; i < nums.length; i++) {
            /*if (nums[i] > target) {
                continue;
            }*/
            if (hastab.containsKey(target - nums[i])) {
                return new int[]{i, hastab.get(target - nums[i])};  //注意map取值的过程
            }
            hastab.put(nums[i], i);
        }
        return new int[0];

    }
}
